﻿using System;
using System.ServiceModel;
using System.Collections.Generic;
using com.clinica.business.entities;
using com.clinica.business.BE.actdocpago;
using com.clinica.business.BE.comun;
/****************************************************************************************
 * Sistema    : Sistema de Gestión de Clinica
 * Modulo     : Facturación y Presupuestos
 * Descripción: 
 * Autor      : JPEREZ
 * Fecha      : 2011-06-01
 ****************************************************************************************/

namespace com.clinica.business.BL.interfaces.actdocpago
{
    [ServiceContract(Namespace = "http://com.clinica.business.BL.interfaces.actdocpago", Name = "IDocumentoPagoBL", SessionMode = SessionMode.Allowed)]
    public interface IDocumentoPagoBL
    {
        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerDocumentosPago")]
        List<DocumentoPagoBE> ObternerDocumentosPago(DocumentoPagoBE request, DateTime dtFecha_Inicio, DateTime dtFecha_Fin);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ActualizarDocumentoPago")]
        int ActualizarDocumentoPago(int Accion,DocumentoPagoBE request);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObtenerDocumentoPago")]
        List<DocumentoPagoBE> ObtenerDocumentoPago(DocumentoPagoBE request);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerTipoDocumento")]
        List<ParametrosBE> ObternerTipoDocumento(ParametrosBE request);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerConsumos")]
        List<DocumentoPagoBE> ObternerConsumos(DocumentoPagoBE request);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerLiquidacion")]
        List<DocumentoPagoBE> ObternerLiquidacion(DocumentoPagoBE request);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "AnularDocPago")]
        void AnularDocPago(DocumentoPagoBE request);


        

    }
}
